package com.cx.lambda;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StreamOperations {
    public static void main(String[] args) {
        List<String> fruits = Arrays.asList("apple", "banana", "cherry", "apple");

        // 中间操作：过滤、映射、去重、排序
       /* List<String> result = fruits.stream()
                .filter(fruit -> fruit.startsWith("a")) // 过滤以 "a" 开头的水果
                .map(String::toUpperCase) // 将水果名称转为大写
                .distinct() // 去重
                .sorted() // 排序
                .collect(Collectors.toList()); // 收集到列表

        // 终止操作：遍历、计数
        result.forEach(System.out::println); // 遍历并打印
        long count = fruits.stream().filter(fruit -> fruit.startsWith("a")).count(); // 统计以 "a" 开头的水果数量
        System.out.println("Count: " + count);
        */

        fruits.parallelStream()
                .filter(fruit -> fruit.startsWith("a"))
                .map(String::toUpperCase)
                .distinct()
                .sorted()
                .forEach(System.out::println);


    }
}